@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/auth/oauth.ts","../src/auth/keychain.ts"],"names":["request","httpsRequest","nodeRandomBytes","spawn","createHash","hostPlatform"],"mappings":"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","file":"auth.js"}
@@ -0,0 +1,140 @@
1
+ import { P as ProviderFamily, M as MetricsSink } from './observability-Cj--OkME.cjs';
2
+
3
+ interface CancellationTokenLike {
4
+ isCancelled: boolean;
5
+ signal?: AbortSignal;
6
+ throwIfCancelled?: () => void;
7
+ }
8
+
9
+ /** Compiled Draft 2020-12 validation for provider-supplied tool arguments. */
10
+
11
+ type ToolArgumentValidator = (toolName: string, args: unknown) => Promise<void>;
12
+ declare const TOOL_ARGUMENT_VALIDATOR: unique symbol;
13
+
14
+ /**
15
+ * Tool registry for LLM-callable functions, mirroring
16
+ * `kaji.runtime.tools.registry`. A process-level registry holds specs and
17
+ * handlers; tools run with a `ToolExecutionContext` and need no infra by default.
18
+ */
19
+
20
+ /** A JSON Schema object describing a tool's parameters. */
21
+ type JSONSchema = Readonly<Record<string, unknown>>;
22
+ /** Risk level for a tool, used by ToolPolicy to gate execution. */
23
+ type ToolRisk = "read" | "write" | "external_effect" | "destructive" | "admin";
24
+ /** Definition of a tool exposed to the LLM. */
25
+ interface ToolSpec {
26
+ readonly name: string;
27
+ readonly description: string;
28
+ readonly parameters: JSONSchema;
29
+ readonly catalogName?: string;
30
+ readonly tags?: readonly string[];
31
+ readonly enabled?: boolean;
32
+ /** Risk classification for policy enforcement and approval routing. */
33
+ readonly risk: ToolRisk;
34
+ /** Explicit opt-in for bounded overlap with adjacent parallel-safe tools. */
35
+ readonly parallel_safe?: boolean;
36
+ /** Per-tool execution deadline. Must be a positive integer when present. */
37
+ readonly timeout_ms?: number;
38
+ readonly [TOOL_ARGUMENT_VALIDATOR]?: ToolArgumentValidator;
39
+ }
40
+
41
+ /**
42
+ * Provider interface for LLM backends, mirroring
43
+ * `kaji.runtime.providers.base.ModelProvider`.
44
+ *
45
+ * Each provider translates the neutral message + tool format to its own API at
46
+ * its boundary. The runtime never imports provider-specific types.
47
+ */
48
+
49
+ /** A message in the conversation history passed to the provider. */
50
+ interface ProviderMessage {
51
+ role: "system" | "user" | "assistant" | "tool";
52
+ content: string;
53
+ /** Set only for tool-result messages. */
54
+ name?: string;
55
+ /** Set only for tool-result messages: id from the originating tool call. */
56
+ tool_call_id?: string;
57
+ /** Set only for assistant messages that requested tools. */
58
+ toolCalls?: ToolCall[];
59
+ }
60
+ /** A tool call the model wants to make. */
61
+ interface ToolCall {
62
+ id: string;
63
+ name: string;
64
+ args: Record<string, unknown>;
65
+ }
66
+ /** A streaming chunk from the provider. */
67
+ interface ModelResponseChunk {
68
+ delta: string;
69
+ toolCalls: ToolCall[];
70
+ /** Token usage, if the provider reported it during streaming. */
71
+ usage?: TokenUsage;
72
+ /** Estimated cost in USD, if the model is in the cost table. */
73
+ costUsd?: number;
74
+ }
75
+ /** Token usage from a provider response. */
76
+ interface TokenUsage {
77
+ /** Prompt / input tokens consumed. */
78
+ input: number;
79
+ /** Completion / output tokens generated. */
80
+ output: number;
81
+ }
82
+ /** A complete non-streaming response. */
83
+ interface ModelResponse {
84
+ content: string;
85
+ toolCalls: ToolCall[];
86
+ /** Token usage, if the provider reported it. */
87
+ usage?: TokenUsage;
88
+ /** Estimated cost in USD, if the model is in the cost table. */
89
+ costUsd?: number;
90
+ }
91
+ /** Immutable per-call provider response bounds. */
92
+ interface ProviderResponseLimits {
93
+ readonly textMaxBytes: number;
94
+ readonly toolArgumentsMaxBytes: number;
95
+ readonly responseMaxBytes: number;
96
+ readonly toolCallsMax: number;
97
+ }
98
+ /**
99
+ * Per-call options that callers may override from the constructor defaults.
100
+ *
101
+ * `cancellationToken` is structurally typed: any object with an
102
+ * `isCancelled` boolean is accepted. Pass a full `CancellationToken`
103
+ * (which also carries an `AbortSignal` under `.signal`) to let the
104
+ * provider abort the underlying HTTP call, not just poll out at the next
105
+ * yield point.
106
+ */
107
+ interface ModelProviderOptions {
108
+ temperature?: number;
109
+ maxTokens?: number;
110
+ cancellationToken?: CancellationTokenLike;
111
+ /** Runtime-injected metrics sink. Provider implementations must keep labels low-cardinality. */
112
+ metricsSink?: MetricsSink;
113
+ /** Runtime-injected immutable response limits. */
114
+ responseLimits?: Readonly<ProviderResponseLimits>;
115
+ }
116
+ /** Common interface every LLM provider implements. */
117
+ interface ModelProvider {
118
+ /**
119
+ * Custom providers are cooperative cancellation boundaries. Both methods
120
+ * must observe `options.cancellationToken` while opening and streaming,
121
+ * stop their underlying request, and let the returned iterator settle when
122
+ * cancellation is requested. A provider that misses the configured grace
123
+ * causes a typed contract violation and quarantines that session until a
124
+ * successful `drainProviders()`. Custom adapters must pass the SDK's
125
+ * cancellation-contract suite before being described as production-safe.
126
+ */
127
+ /** Stable low-cardinality family identifier for observability. */
128
+ readonly providerFamily?: ProviderFamily;
129
+ generate(messages: ProviderMessage[], tools: ToolSpec[], options?: ModelProviderOptions): Promise<ModelResponse>;
130
+ generateStream(messages: ProviderMessage[], tools: ToolSpec[], options?: ModelProviderOptions): AsyncGenerator<ModelResponseChunk>;
131
+ }
132
+ /** Rate-limit retry configuration shared by HTTP-backed providers. */
133
+ interface RetryOptions {
134
+ /** Maximum retry attempts on 429 rate-limit responses. Defaults to 3. */
135
+ maxAttempts?: number;
136
+ /** Base delay in ms before first retry. Doubles each attempt. Defaults to 1000. */
137
+ baseDelayMs?: number;
138
+ }
139
+
140
+ export type { ModelProvider as M, ProviderMessage as P, RetryOptions as R, ToolSpec as T, ModelProviderOptions as a, ModelResponse as b, ModelResponseChunk as c };
@@ -0,0 +1,140 @@
1
+ import { P as ProviderFamily, M as MetricsSink } from './observability-Cj--OkME.js';
2
+
3
+ interface CancellationTokenLike {
4
+ isCancelled: boolean;
5
+ signal?: AbortSignal;
6
+ throwIfCancelled?: () => void;
7
+ }
8
+
9
+ /** Compiled Draft 2020-12 validation for provider-supplied tool arguments. */
10
+
11
+ type ToolArgumentValidator = (toolName: string, args: unknown) => Promise<void>;
12
+ declare const TOOL_ARGUMENT_VALIDATOR: unique symbol;
13
+
14
+ /**
15
+ * Tool registry for LLM-callable functions, mirroring
16
+ * `kaji.runtime.tools.registry`. A process-level registry holds specs and
17
+ * handlers; tools run with a `ToolExecutionContext` and need no infra by default.
18
+ */
19
+
20
+ /** A JSON Schema object describing a tool's parameters. */
21
+ type JSONSchema = Readonly<Record<string, unknown>>;
22
+ /** Risk level for a tool, used by ToolPolicy to gate execution. */
23
+ type ToolRisk = "read" | "write" | "external_effect" | "destructive" | "admin";
24
+ /** Definition of a tool exposed to the LLM. */
25
+ interface ToolSpec {
26
+ readonly name: string;
27
+ readonly description: string;
28
+ readonly parameters: JSONSchema;
29
+ readonly catalogName?: string;
30
+ readonly tags?: readonly string[];
31
+ readonly enabled?: boolean;
32
+ /** Risk classification for policy enforcement and approval routing. */
33
+ readonly risk: ToolRisk;
34
+ /** Explicit opt-in for bounded overlap with adjacent parallel-safe tools. */
35
+ readonly parallel_safe?: boolean;
36
+ /** Per-tool execution deadline. Must be a positive integer when present. */
37
+ readonly timeout_ms?: number;
38
+ readonly [TOOL_ARGUMENT_VALIDATOR]?: ToolArgumentValidator;
39
+ }
40
+
41
+ /**
42
+ * Provider interface for LLM backends, mirroring
43
+ * `kaji.runtime.providers.base.ModelProvider`.
44
+ *
45
+ * Each provider translates the neutral message + tool format to its own API at
46
+ * its boundary. The runtime never imports provider-specific types.
47
+ */
48
+
49
+ /** A message in the conversation history passed to the provider. */
50
+ interface ProviderMessage {
51
+ role: "system" | "user" | "assistant" | "tool";
52
+ content: string;
53
+ /** Set only for tool-result messages. */
54
+ name?: string;
55
+ /** Set only for tool-result messages: id from the originating tool call. */
56
+ tool_call_id?: string;
57
+ /** Set only for assistant messages that requested tools. */
58
+ toolCalls?: ToolCall[];
59
+ }
60
+ /** A tool call the model wants to make. */
61
+ interface ToolCall {
62
+ id: string;
63
+ name: string;
64
+ args: Record<string, unknown>;
65
+ }
66
+ /** A streaming chunk from the provider. */
67
+ interface ModelResponseChunk {
68
+ delta: string;
69
+ toolCalls: ToolCall[];
70
+ /** Token usage, if the provider reported it during streaming. */
71
+ usage?: TokenUsage;
72
+ /** Estimated cost in USD, if the model is in the cost table. */
73
+ costUsd?: number;
74
+ }
75
+ /** Token usage from a provider response. */
76
+ interface TokenUsage {
77
+ /** Prompt / input tokens consumed. */
78
+ input: number;
79
+ /** Completion / output tokens generated. */
80
+ output: number;
81
+ }
82
+ /** A complete non-streaming response. */
83
+ interface ModelResponse {
84
+ content: string;
85
+ toolCalls: ToolCall[];
86
+ /** Token usage, if the provider reported it. */
87
+ usage?: TokenUsage;
88
+ /** Estimated cost in USD, if the model is in the cost table. */
89
+ costUsd?: number;
90
+ }
91
+ /** Immutable per-call provider response bounds. */
92
+ interface ProviderResponseLimits {
93
+ readonly textMaxBytes: number;
94
+ readonly toolArgumentsMaxBytes: number;
95
+ readonly responseMaxBytes: number;
96
+ readonly toolCallsMax: number;
97
+ }
98
+ /**
99
+ * Per-call options that callers may override from the constructor defaults.
100
+ *
101
+ * `cancellationToken` is structurally typed: any object with an
102
+ * `isCancelled` boolean is accepted. Pass a full `CancellationToken`
103
+ * (which also carries an `AbortSignal` under `.signal`) to let the
104
+ * provider abort the underlying HTTP call, not just poll out at the next
105
+ * yield point.
106
+ */
107
+ interface ModelProviderOptions {
108
+ temperature?: number;
109
+ maxTokens?: number;
110
+ cancellationToken?: CancellationTokenLike;
111
+ /** Runtime-injected metrics sink. Provider implementations must keep labels low-cardinality. */
112
+ metricsSink?: MetricsSink;
113
+ /** Runtime-injected immutable response limits. */
114
+ responseLimits?: Readonly<ProviderResponseLimits>;
115
+ }
116
+ /** Common interface every LLM provider implements. */
117
+ interface ModelProvider {
118
+ /**
119
+ * Custom providers are cooperative cancellation boundaries. Both methods
120
+ * must observe `options.cancellationToken` while opening and streaming,
121
+ * stop their underlying request, and let the returned iterator settle when
122
+ * cancellation is requested. A provider that misses the configured grace
123
+ * causes a typed contract violation and quarantines that session until a
124
+ * successful `drainProviders()`. Custom adapters must pass the SDK's
125
+ * cancellation-contract suite before being described as production-safe.
126
+ */
127
+ /** Stable low-cardinality family identifier for observability. */
128
+ readonly providerFamily?: ProviderFamily;
129
+ generate(messages: ProviderMessage[], tools: ToolSpec[], options?: ModelProviderOptions): Promise<ModelResponse>;
130
+ generateStream(messages: ProviderMessage[], tools: ToolSpec[], options?: ModelProviderOptions): AsyncGenerator<ModelResponseChunk>;
131
+ }
132
+ /** Rate-limit retry configuration shared by HTTP-backed providers. */
133
+ interface RetryOptions {
134
+ /** Maximum retry attempts on 429 rate-limit responses. Defaults to 3. */
135
+ maxAttempts?: number;
136
+ /** Base delay in ms before first retry. Doubles each attempt. Defaults to 1000. */
137
+ baseDelayMs?: number;
138
+ }
139
+
140
+ export type { ModelProvider as M, ProviderMessage as P, RetryOptions as R, ToolSpec as T, ModelProviderOptions as a, ModelResponse as b, ModelResponseChunk as c };