@irogane/kaji 0.2.0-beta.11

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 (136) hide show
  1. package/LICENSE +105 -0
  2. package/README.md +598 -0
  3. package/contracts/README.md +14 -0
  4. package/contracts/beta-core-v1.json +52 -0
  5. package/contracts/cli/init-cases-v1.json +27 -0
  6. package/contracts/errors/error-codes.json +48 -0
  7. package/contracts/errors/integration-recovery-v1.json +127 -0
  8. package/contracts/errors/provider-normalization.json +111 -0
  9. package/contracts/events/conformance-invalid.json +20 -0
  10. package/contracts/events/conformance.json +511 -0
  11. package/contracts/events/new-kaji-event-v1.schema.json +1021 -0
  12. package/contracts/events/stored-kaji-event-v1.schema.json +1025 -0
  13. package/contracts/feature-tiers-v1.json +488 -0
  14. package/contracts/integrations/abi-index-v1.json +8 -0
  15. package/contracts/integrations/conformance-invalid.json +443 -0
  16. package/contracts/integrations/conformance-valid.json +121 -0
  17. package/contracts/integrations/copy-provenance-v1.schema.json +61 -0
  18. package/contracts/integrations/echo-tool-abi-v1.json +37 -0
  19. package/contracts/integrations/github-api-conformance-v1.json +644 -0
  20. package/contracts/integrations/github-tool-abi-typescript-v1.json +369 -0
  21. package/contracts/integrations/github-tool-abi-v1.json +146 -0
  22. package/contracts/integrations/gmail-api-conformance-v1.json +750 -0
  23. package/contracts/integrations/gmail-tool-abi-v1.json +62 -0
  24. package/contracts/integrations/index.schema.json +37 -0
  25. package/contracts/integrations/manifest.schema.json +119 -0
  26. package/contracts/parity/expected-normalized.json +4906 -0
  27. package/contracts/parity/scenarios.json +100 -0
  28. package/contracts/parity/scenarios.schema.json +214 -0
  29. package/contracts/providers/cost-conformance.json +112 -0
  30. package/contracts/release/github-proof-v1.schema.json +138 -0
  31. package/contracts/release/gmail-proof-v1.schema.json +138 -0
  32. package/contracts/release/kaji-ts-consumer-handoff-v1.schema.json +1289 -0
  33. package/contracts/release/publisher-identity-receipt-v1.schema.json +319 -0
  34. package/contracts/release/typescript-onboarding-evidence-v1.schema.json +740 -0
  35. package/contracts/tools/conformance-invalid.json +271 -0
  36. package/contracts/tools/conformance-valid.json +78 -0
  37. package/contracts/tools/tool-schema-v1.schema.json +18 -0
  38. package/dist/anthropic.cjs +1231 -0
  39. package/dist/anthropic.cjs.map +1 -0
  40. package/dist/anthropic.d.cts +26 -0
  41. package/dist/anthropic.d.ts +26 -0
  42. package/dist/anthropic.js +270 -0
  43. package/dist/anthropic.js.map +1 -0
  44. package/dist/auth.cjs +1507 -0
  45. package/dist/auth.cjs.map +1 -0
  46. package/dist/auth.d.cts +129 -0
  47. package/dist/auth.d.ts +129 -0
  48. package/dist/auth.js +1039 -0
  49. package/dist/auth.js.map +1 -0
  50. package/dist/base-B9FRMcP8.d.cts +140 -0
  51. package/dist/base-nHQd1VtS.d.ts +140 -0
  52. package/dist/chunk-AAM33KAO.js +4367 -0
  53. package/dist/chunk-AAM33KAO.js.map +1 -0
  54. package/dist/chunk-KAJ6BM64.js +153 -0
  55. package/dist/chunk-KAJ6BM64.js.map +1 -0
  56. package/dist/chunk-KCAXIOZS.js +308 -0
  57. package/dist/chunk-KCAXIOZS.js.map +1 -0
  58. package/dist/chunk-LSJ4AVO2.js +243 -0
  59. package/dist/chunk-LSJ4AVO2.js.map +1 -0
  60. package/dist/chunk-TM7ZGOJX.js +716 -0
  61. package/dist/chunk-TM7ZGOJX.js.map +1 -0
  62. package/dist/cli/bin.d.ts +2 -0
  63. package/dist/cli/bin.js +13 -0
  64. package/dist/cli/bin.js.map +1 -0
  65. package/dist/cli/chunk-2RCWPRVY.js +6277 -0
  66. package/dist/cli/chunk-2RCWPRVY.js.map +1 -0
  67. package/dist/cli/chunk-SEBX54TR.js +681 -0
  68. package/dist/cli/chunk-SEBX54TR.js.map +1 -0
  69. package/dist/cli/index.d.ts +232 -0
  70. package/dist/cli/index.js +11 -0
  71. package/dist/cli/index.js.map +1 -0
  72. package/dist/cli/init-worker.d.ts +2 -0
  73. package/dist/cli/init-worker.js +18 -0
  74. package/dist/cli/init-worker.js.map +1 -0
  75. package/dist/cli/integration-copy-worker.js +48 -0
  76. package/dist/cli/integration-copy-worker.js.map +1 -0
  77. package/dist/cli/package-entry-cjs.cjs +21 -0
  78. package/dist/cli/package-entry-cjs.cjs.map +1 -0
  79. package/dist/cli/package-entry-cjs.d.cts +2 -0
  80. package/dist/cli/package-entry.d.ts +2 -0
  81. package/dist/cli/package-entry.js +13 -0
  82. package/dist/cli/package-entry.js.map +1 -0
  83. package/dist/context-BaFHrQHv.d.cts +21 -0
  84. package/dist/context-BaFHrQHv.d.ts +21 -0
  85. package/dist/context-C-YPY-GS.d.cts +1538 -0
  86. package/dist/context-C-YPY-GS.d.ts +1538 -0
  87. package/dist/index.cjs +12346 -0
  88. package/dist/index.cjs.map +1 -0
  89. package/dist/index.d.cts +1560 -0
  90. package/dist/index.d.ts +1560 -0
  91. package/dist/index.js +7852 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/integrations/github.cjs +2092 -0
  94. package/dist/integrations/github.cjs.map +1 -0
  95. package/dist/integrations/github.d.cts +21 -0
  96. package/dist/integrations/github.d.ts +21 -0
  97. package/dist/integrations/github.js +2088 -0
  98. package/dist/integrations/github.js.map +1 -0
  99. package/dist/integrations.cjs +3370 -0
  100. package/dist/integrations.cjs.map +1 -0
  101. package/dist/integrations.d.cts +202 -0
  102. package/dist/integrations.d.ts +202 -0
  103. package/dist/integrations.js +2650 -0
  104. package/dist/integrations.js.map +1 -0
  105. package/dist/observability-Cj--OkME.d.cts +96 -0
  106. package/dist/observability-Cj--OkME.d.ts +96 -0
  107. package/dist/openai.cjs +1235 -0
  108. package/dist/openai.cjs.map +1 -0
  109. package/dist/openai.d.cts +32 -0
  110. package/dist/openai.d.ts +32 -0
  111. package/dist/openai.js +272 -0
  112. package/dist/openai.js.map +1 -0
  113. package/dist/testing.cjs +554 -0
  114. package/dist/testing.cjs.map +1 -0
  115. package/dist/testing.d.cts +43 -0
  116. package/dist/testing.d.ts +43 -0
  117. package/dist/testing.js +118 -0
  118. package/dist/testing.js.map +1 -0
  119. package/package.json +188 -0
  120. package/registry/echo/index.ts +53 -0
  121. package/registry/echo/manifest.json +53 -0
  122. package/registry/github/LICENSE +105 -0
  123. package/registry/github/client.ts +1727 -0
  124. package/registry/github/index.ts +263 -0
  125. package/registry/github/manifest.json +227 -0
  126. package/registry/github/owner-fixtures.json +10 -0
  127. package/registry/github/tests/github.test.ts +32 -0
  128. package/registry/gmail/LICENSE +105 -0
  129. package/registry/gmail/client.ts +548 -0
  130. package/registry/gmail/index.ts +165 -0
  131. package/registry/gmail/manifest.json +102 -0
  132. package/registry/gmail/owner-fixtures.json +10 -0
  133. package/registry/gmail/tests/gmail.test.ts +32 -0
  134. package/registry/index.json +21 -0
  135. package/registry/index.schema.json +37 -0
  136. package/registry/schema.json +119 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/contracts/integration-recovery.ts","../src/tools/execution-errors.ts","../src/integrations/errors.ts","../src/internal/uuid.ts","../src/observability.ts","../src/auth/oauth.ts","../src/auth/keychain.ts"],"names":["recovery","httpsRequest","createHash","timingSafeEqual","createServer","spawn","nodeRandomBytes","accessSync","constants","hostPlatform"],"mappings":"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","file":"auth.cjs"}
@@ -0,0 +1,129 @@
1
+ import { T as ToolExecutionContext } from './context-BaFHrQHv.cjs';
2
+ import { M as MetricsSink, T as TraceSink } from './observability-Cj--OkME.cjs';
3
+
4
+ interface Clock {
5
+ nowWallSeconds(): number;
6
+ /** Monotonic milliseconds, matching `performance.now()`. */
7
+ nowMonotonic(): number;
8
+ }
9
+
10
+ interface OAuthTokenSet {
11
+ readonly accessToken: string;
12
+ readonly refreshToken: string;
13
+ readonly expiresAtEpochMs: number;
14
+ readonly grantedScopes: readonly string[];
15
+ readonly tokenType: "Bearer";
16
+ }
17
+ interface OAuthCredentialRecord {
18
+ readonly schemaVersion: 1;
19
+ readonly state: "active" | "revocation_pending";
20
+ readonly tokens: OAuthTokenSet;
21
+ }
22
+ interface OAuthTokenStorage {
23
+ load(principalId: string, signal: AbortSignal): Promise<OAuthCredentialRecord | undefined>;
24
+ save(principalId: string, record: OAuthCredentialRecord, signal: AbortSignal): Promise<void>;
25
+ delete(principalId: string, signal: AbortSignal): Promise<void>;
26
+ }
27
+ interface OAuthAccessTokenProvider {
28
+ accessToken(context: ToolExecutionContext): Promise<string>;
29
+ }
30
+ interface GoogleOAuthClientOptions {
31
+ readonly clientId?: string;
32
+ readonly clientSecret?: string;
33
+ readonly scopes: readonly string[];
34
+ readonly storage: OAuthTokenStorage;
35
+ readonly metricsSink?: MetricsSink;
36
+ readonly traceSink?: TraceSink;
37
+ }
38
+ interface OAuthResponse {
39
+ readonly status: number;
40
+ readonly bytes: Uint8Array;
41
+ }
42
+ interface OAuthTransport {
43
+ postForm(endpoint: string, form: Readonly<Record<string, string>>, signal: AbortSignal, deadlineMonotonicMs: number): Promise<OAuthResponse>;
44
+ }
45
+ interface AuthorizationCallback {
46
+ readonly redirectUri: string;
47
+ waitForCode(expectedState: string, signal: AbortSignal, deadlineMonotonicMs: number): Promise<string>;
48
+ close(): Promise<void>;
49
+ }
50
+ interface CallbackFactory {
51
+ open(signal: AbortSignal, deadlineMonotonicMs: number): Promise<AuthorizationCallback>;
52
+ }
53
+ interface Browser {
54
+ open(url: string, signal: AbortSignal, deadlineMonotonicMs: number): Promise<void>;
55
+ }
56
+ interface Dependencies {
57
+ readonly http: OAuthTransport;
58
+ readonly callbackFactory: CallbackFactory;
59
+ readonly browser: Browser;
60
+ readonly clock: Clock;
61
+ readonly randomBytes: (count: number) => Uint8Array;
62
+ }
63
+ declare function snapshotOAuthCredentialRecord(value: unknown): OAuthCredentialRecord;
64
+ declare function canonicalOAuthCredentialJson(value: OAuthCredentialRecord): string;
65
+ declare class GoogleOAuthClient implements OAuthAccessTokenProvider {
66
+ private readonly options;
67
+ private readonly dependencies;
68
+ private readonly metrics;
69
+ private readonly trace;
70
+ private readonly slots;
71
+ private readonly slotsGate;
72
+ constructor(options: GoogleOAuthClientOptions);
73
+ /** @internal Source-relative tests only. */
74
+ static _create(options: GoogleOAuthClientOptions, dependencies: Dependencies): GoogleOAuthClient;
75
+ connect(principalId: string, signal: AbortSignal): Promise<void>;
76
+ accessToken(context: ToolExecutionContext): Promise<string>;
77
+ private accessTokenInternal;
78
+ disconnect(principalId: string, signal: AbortSignal, options?: Readonly<{
79
+ forceLocal?: boolean;
80
+ }>): Promise<Readonly<{
81
+ localState: "deleted" | "revocation_pending" | "missing";
82
+ remoteRevoked: boolean;
83
+ }>>;
84
+ private requiredClientId;
85
+ private checkDeadline;
86
+ private runConnect;
87
+ private joinRefresh;
88
+ private runRefresh;
89
+ private runRefreshWithDeadline;
90
+ private tokensFromResponse;
91
+ private saveIfCurrent;
92
+ private deleteIfCurrent;
93
+ private deleteBlockedIfCurrent;
94
+ private acquireSlot;
95
+ private releaseSlot;
96
+ }
97
+
98
+ interface KeychainProcess {
99
+ run(args: readonly string[], options: Readonly<{
100
+ stdin?: string;
101
+ signal: AbortSignal;
102
+ timeoutMs: number;
103
+ maxStdoutBytes: number;
104
+ }>): Promise<Readonly<{
105
+ code: number;
106
+ stdout: string;
107
+ }>>;
108
+ }
109
+ declare class MacOSKeychainTokenStorage implements OAuthTokenStorage {
110
+ private readonly process;
111
+ private readonly platform;
112
+ private readonly executable;
113
+ private readonly service;
114
+ constructor(integrationName?: string);
115
+ /** @internal Source-relative tests only. */
116
+ static _create(options: {
117
+ process: KeychainProcess;
118
+ platform: string;
119
+ executable: boolean;
120
+ integrationName?: string;
121
+ }): MacOSKeychainTokenStorage;
122
+ load(principalId: string, signal: AbortSignal): Promise<OAuthCredentialRecord | undefined>;
123
+ save(principalId: string, record: OAuthCredentialRecord, signal: AbortSignal): Promise<void>;
124
+ delete(principalId: string, signal: AbortSignal): Promise<void>;
125
+ private preflight;
126
+ private run;
127
+ }
128
+
129
+ export { GoogleOAuthClient, type GoogleOAuthClientOptions, MacOSKeychainTokenStorage, type OAuthAccessTokenProvider, type OAuthCredentialRecord, type OAuthTokenSet, type OAuthTokenStorage, canonicalOAuthCredentialJson, snapshotOAuthCredentialRecord };
package/dist/auth.d.ts ADDED
@@ -0,0 +1,129 @@
1
+ import { T as ToolExecutionContext } from './context-BaFHrQHv.js';
2
+ import { M as MetricsSink, T as TraceSink } from './observability-Cj--OkME.js';
3
+
4
+ interface Clock {
5
+ nowWallSeconds(): number;
6
+ /** Monotonic milliseconds, matching `performance.now()`. */
7
+ nowMonotonic(): number;
8
+ }
9
+
10
+ interface OAuthTokenSet {
11
+ readonly accessToken: string;
12
+ readonly refreshToken: string;
13
+ readonly expiresAtEpochMs: number;
14
+ readonly grantedScopes: readonly string[];
15
+ readonly tokenType: "Bearer";
16
+ }
17
+ interface OAuthCredentialRecord {
18
+ readonly schemaVersion: 1;
19
+ readonly state: "active" | "revocation_pending";
20
+ readonly tokens: OAuthTokenSet;
21
+ }
22
+ interface OAuthTokenStorage {
23
+ load(principalId: string, signal: AbortSignal): Promise<OAuthCredentialRecord | undefined>;
24
+ save(principalId: string, record: OAuthCredentialRecord, signal: AbortSignal): Promise<void>;
25
+ delete(principalId: string, signal: AbortSignal): Promise<void>;
26
+ }
27
+ interface OAuthAccessTokenProvider {
28
+ accessToken(context: ToolExecutionContext): Promise<string>;
29
+ }
30
+ interface GoogleOAuthClientOptions {
31
+ readonly clientId?: string;
32
+ readonly clientSecret?: string;
33
+ readonly scopes: readonly string[];
34
+ readonly storage: OAuthTokenStorage;
35
+ readonly metricsSink?: MetricsSink;
36
+ readonly traceSink?: TraceSink;
37
+ }
38
+ interface OAuthResponse {
39
+ readonly status: number;
40
+ readonly bytes: Uint8Array;
41
+ }
42
+ interface OAuthTransport {
43
+ postForm(endpoint: string, form: Readonly<Record<string, string>>, signal: AbortSignal, deadlineMonotonicMs: number): Promise<OAuthResponse>;
44
+ }
45
+ interface AuthorizationCallback {
46
+ readonly redirectUri: string;
47
+ waitForCode(expectedState: string, signal: AbortSignal, deadlineMonotonicMs: number): Promise<string>;
48
+ close(): Promise<void>;
49
+ }
50
+ interface CallbackFactory {
51
+ open(signal: AbortSignal, deadlineMonotonicMs: number): Promise<AuthorizationCallback>;
52
+ }
53
+ interface Browser {
54
+ open(url: string, signal: AbortSignal, deadlineMonotonicMs: number): Promise<void>;
55
+ }
56
+ interface Dependencies {
57
+ readonly http: OAuthTransport;
58
+ readonly callbackFactory: CallbackFactory;
59
+ readonly browser: Browser;
60
+ readonly clock: Clock;
61
+ readonly randomBytes: (count: number) => Uint8Array;
62
+ }
63
+ declare function snapshotOAuthCredentialRecord(value: unknown): OAuthCredentialRecord;
64
+ declare function canonicalOAuthCredentialJson(value: OAuthCredentialRecord): string;
65
+ declare class GoogleOAuthClient implements OAuthAccessTokenProvider {
66
+ private readonly options;
67
+ private readonly dependencies;
68
+ private readonly metrics;
69
+ private readonly trace;
70
+ private readonly slots;
71
+ private readonly slotsGate;
72
+ constructor(options: GoogleOAuthClientOptions);
73
+ /** @internal Source-relative tests only. */
74
+ static _create(options: GoogleOAuthClientOptions, dependencies: Dependencies): GoogleOAuthClient;
75
+ connect(principalId: string, signal: AbortSignal): Promise<void>;
76
+ accessToken(context: ToolExecutionContext): Promise<string>;
77
+ private accessTokenInternal;
78
+ disconnect(principalId: string, signal: AbortSignal, options?: Readonly<{
79
+ forceLocal?: boolean;
80
+ }>): Promise<Readonly<{
81
+ localState: "deleted" | "revocation_pending" | "missing";
82
+ remoteRevoked: boolean;
83
+ }>>;
84
+ private requiredClientId;
85
+ private checkDeadline;
86
+ private runConnect;
87
+ private joinRefresh;
88
+ private runRefresh;
89
+ private runRefreshWithDeadline;
90
+ private tokensFromResponse;
91
+ private saveIfCurrent;
92
+ private deleteIfCurrent;
93
+ private deleteBlockedIfCurrent;
94
+ private acquireSlot;
95
+ private releaseSlot;
96
+ }
97
+
98
+ interface KeychainProcess {
99
+ run(args: readonly string[], options: Readonly<{
100
+ stdin?: string;
101
+ signal: AbortSignal;
102
+ timeoutMs: number;
103
+ maxStdoutBytes: number;
104
+ }>): Promise<Readonly<{
105
+ code: number;
106
+ stdout: string;
107
+ }>>;
108
+ }
109
+ declare class MacOSKeychainTokenStorage implements OAuthTokenStorage {
110
+ private readonly process;
111
+ private readonly platform;
112
+ private readonly executable;
113
+ private readonly service;
114
+ constructor(integrationName?: string);
115
+ /** @internal Source-relative tests only. */
116
+ static _create(options: {
117
+ process: KeychainProcess;
118
+ platform: string;
119
+ executable: boolean;
120
+ integrationName?: string;
121
+ }): MacOSKeychainTokenStorage;
122
+ load(principalId: string, signal: AbortSignal): Promise<OAuthCredentialRecord | undefined>;
123
+ save(principalId: string, record: OAuthCredentialRecord, signal: AbortSignal): Promise<void>;
124
+ delete(principalId: string, signal: AbortSignal): Promise<void>;
125
+ private preflight;
126
+ private run;
127
+ }
128
+
129
+ export { GoogleOAuthClient, type GoogleOAuthClientOptions, MacOSKeychainTokenStorage, type OAuthAccessTokenProvider, type OAuthCredentialRecord, type OAuthTokenSet, type OAuthTokenStorage, canonicalOAuthCredentialJson, snapshotOAuthCredentialRecord };