sneakoscope 8.2.0 → 8.3.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/README.md +46 -110
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/dist/cli/command-manifest-lite.js +0 -2
- package/dist/cli/command-registry.js +0 -2
- package/dist/commands/codex.js +3 -3
- package/dist/commands/doctor.js +5 -157
- package/dist/config/skills-manifest.json +1 -1
- package/dist/core/codex/codex-cli-syntax-builder.js +0 -8
- package/dist/core/codex-app/codex-models-cache.js +2 -1
- package/dist/core/codex-app/menubar/constants.js +0 -7
- package/dist/core/codex-compat/codex-capability-matrix.js +7 -7
- package/dist/core/codex-compat/codex-compat-report.js +8 -12
- package/dist/core/codex-compat/codex-runtime-contract.js +62 -0
- package/dist/core/codex-compat/codex-version-policy.js +7 -7
- package/dist/core/codex-control/codex-current-app-capability.js +3 -3
- package/dist/core/codex-control/codex-current-capability.js +67 -94
- package/dist/core/codex-control/codex-current-core-capability.js +3 -3
- package/dist/core/codex-control/codex-current-core-probe-runner.js +4 -4
- package/dist/core/codex-control/codex-current-core-real-probes.js +2 -2
- package/dist/core/codex-control/codex-current-feature-capability.js +4 -4
- package/dist/core/codex-control/codex-current-image-path-real-probe.js +1 -1
- package/dist/core/codex-control/codex-current-web-search-probe.js +1 -1
- package/dist/core/codex-control/codex-sdk-capability.js +2 -2
- package/dist/core/commands/remote-command.js +2 -2
- package/dist/core/context7-client.js +5 -2
- package/dist/core/doctor/codex-current-core-probe-doctor.js +2 -2
- package/dist/core/doctor/doctor-dirty-planner.js +1 -1
- package/dist/core/doctor/doctor-readiness-matrix.js +0 -7
- package/dist/core/feature-fixtures.js +0 -4
- package/dist/core/feature-registry.js +0 -1
- package/dist/core/image-ux-review.js +3 -3
- package/dist/core/install/installed-package-smoke.js +2 -3
- package/dist/core/mad-sks/sql-plane/mcp-executor.js +4 -3
- package/dist/core/mcp/modern-protocol.js +36 -0
- package/dist/core/mcp-config/health-check.js +45 -30
- package/dist/core/perf/release-latency-slo.js +1 -2
- package/dist/core/proof/runtime-truth-matrix.js +1 -1
- package/dist/core/release/canonical-test-proof.js +1 -2
- package/dist/core/release/gate-manifest.js +5 -2
- package/dist/core/release/physical-release-gates.js +0 -26
- package/dist/core/release/release-gate-affected-selector.js +2 -1
- package/dist/core/release/release-gate-contract.js +3 -1
- package/dist/core/release/release-pack-receipt.js +0 -1
- package/dist/core/release/stage-publish.js +1 -1
- package/dist/core/version-manager.js +4 -0
- package/dist/core/version.js +1 -1
- package/dist/native/sks-menubar/Sources/AppDelegate.swift +1 -12
- package/dist/native/sks-menubar/Sources/ControlCenterWindowController.swift +2 -6
- package/dist/native/sks-menubar/Sources/RemoteCodingViewController.swift +28 -471
- package/dist/native/sks-menubar/Sources/SecureProcessEnvelope.swift +1 -43
- package/dist/scripts/codex-current-app-server-v2-check.js +9 -8
- package/dist/scripts/codex-current-binary-identity-check.js +2 -2
- package/dist/scripts/codex-current-capability-check.js +9 -7
- package/dist/scripts/codex-current-dependency-check.js +21 -0
- package/dist/scripts/docs-truthfulness-check.js +4 -19
- package/dist/scripts/fast-codex-service-tier-proof-check.js +0 -1
- package/dist/scripts/install-surface-ssot-check.js +2 -2
- package/dist/scripts/latest-version-guidance-check.js +1 -1
- package/dist/scripts/packlist-performance-check.js +0 -1
- package/dist/scripts/release-metadata-check.js +4 -1
- package/dist/scripts/release-version-truth-check.js +149 -0
- package/dist/vendor/openai-codex/latest/hooks/permission-request.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/permission-request.command.output.schema.json +2 -16
- package/dist/vendor/openai-codex/latest/hooks/post-compact.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/post-tool-use.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/post-tool-use.command.output.schema.json +2 -16
- package/dist/vendor/openai-codex/latest/hooks/pre-compact.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/pre-tool-use.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/pre-tool-use.command.output.schema.json +2 -16
- package/dist/vendor/openai-codex/latest/hooks/session-start.command.output.schema.json +2 -16
- package/dist/vendor/openai-codex/latest/hooks/snapshot-metadata.json +7 -5
- package/dist/vendor/openai-codex/latest/hooks/subagent-start.command.output.schema.json +4 -18
- package/dist/vendor/openai-codex/latest/hooks/user-prompt-submit.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/user-prompt-submit.command.output.schema.json +2 -16
- package/package.json +4 -7
- package/release-gates.v2.json +49 -19
- package/config/codex-releases/rust-v0.146.0.json +0 -45
- package/dist/core/agents/agent-runner-codex-exec.js +0 -177
- package/dist/core/codex-compat/codex-release-manifest.js +0 -72
- package/dist/core/commands/telegram-command.js +0 -447
- package/dist/core/telegram/access.js +0 -58
- package/dist/core/telegram/client.js +0 -157
- package/dist/core/telegram/confirmation.js +0 -37
- package/dist/core/telegram/doctor.js +0 -154
- package/dist/core/telegram/index.js +0 -9
- package/dist/core/telegram/keychain.js +0 -317
- package/dist/core/telegram/liveness.js +0 -124
- package/dist/core/telegram/poller.js +0 -90
- package/dist/core/telegram/redaction.js +0 -15
- package/dist/core/telegram/state-lock.js +0 -416
- package/dist/core/telegram/types.js +0 -1
- package/dist/native/sks-menubar/Sources/TelegramPrivateFileStore.swift +0 -498
- package/dist/native/sks-menubar/Sources/TelegramPrivateFileSupport.swift +0 -236
- package/dist/native/sks-menubar/Sources/TelegramProcessGateway.swift +0 -454
- package/dist/native/sks-menubar/Sources/TelegramRuntimeSupport.swift +0 -56
- package/dist/native/sks-menubar/Sources/TelegramStateLock.swift +0 -448
- package/dist/native/sks-menubar/Sources/TelegramSupport.swift +0 -243
- package/dist/native/sks-menubar/Sources/TelegramTransport.swift +0 -499
- package/dist/scripts/codex-current-manifest-check.js +0 -29
- package/schemas/codex/app-server-0.146/codex_app_server_protocol.v2.schemas.json +0 -19858
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
|
|
3
|
-
struct TelegramNativeUser: Codable, Sendable {
|
|
4
|
-
let id: Int64
|
|
5
|
-
let is_bot: Bool
|
|
6
|
-
let first_name: String
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
struct TelegramNativeChat: Codable, Sendable {
|
|
10
|
-
let id: Int64
|
|
11
|
-
let type: String
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
struct TelegramNativeMessage: Codable, Sendable {
|
|
15
|
-
let message_id: Int64
|
|
16
|
-
let date: Int64
|
|
17
|
-
let chat: TelegramNativeChat
|
|
18
|
-
let from: TelegramNativeUser?
|
|
19
|
-
let text: String?
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
struct TelegramNativeUpdate: Codable, Sendable {
|
|
23
|
-
let update_id: Int64
|
|
24
|
-
let message: TelegramNativeMessage?
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
struct TelegramTypedCommandRequest: Sendable, Equatable {
|
|
28
|
-
let name: String
|
|
29
|
-
let inputJSON: String
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
struct TelegramTypedCommandDecision: Sendable, Equatable {
|
|
33
|
-
let allowed: Bool
|
|
34
|
-
let confirmationRequired: Bool
|
|
35
|
-
let publicError: String?
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/// The AppDelegate adapter must delegate these calls to the TypeScript
|
|
39
|
-
/// createTelegramCommandDispatcher boundary. It must execute argv directly;
|
|
40
|
-
/// no shell command string is accepted by this protocol.
|
|
41
|
-
protocol TelegramTypedCommandGateway: Sendable {
|
|
42
|
-
func prepare(_ request: TelegramTypedCommandRequest) async -> TelegramTypedCommandDecision
|
|
43
|
-
func execute(_ request: TelegramTypedCommandRequest) async throws -> String
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
struct TelegramNativeAuditEvent: Sendable, Equatable {
|
|
47
|
-
let actor: String
|
|
48
|
-
let action: String
|
|
49
|
-
let command: String?
|
|
50
|
-
let outcome: String
|
|
51
|
-
let detail: String?
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
struct TelegramPollerReceipt: Codable, Sendable, Equatable {
|
|
55
|
-
let schema: String
|
|
56
|
-
let running: Bool
|
|
57
|
-
let offset: Int64
|
|
58
|
-
let consecutive_failures: Int
|
|
59
|
-
let last_poll_at: String?
|
|
60
|
-
let last_success_at: String?
|
|
61
|
-
let last_update_at: String?
|
|
62
|
-
let last_error: String?
|
|
63
|
-
|
|
64
|
-
private enum CodingKeys: String, CodingKey {
|
|
65
|
-
case schema, running, offset, consecutive_failures
|
|
66
|
-
case last_poll_at, last_success_at, last_update_at, last_error
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
func encode(to encoder: Encoder) throws {
|
|
70
|
-
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
71
|
-
try container.encode(schema, forKey: .schema)
|
|
72
|
-
try container.encode(running, forKey: .running)
|
|
73
|
-
try container.encode(offset, forKey: .offset)
|
|
74
|
-
try container.encode(consecutive_failures, forKey: .consecutive_failures)
|
|
75
|
-
if let last_poll_at { try container.encode(last_poll_at, forKey: .last_poll_at) }
|
|
76
|
-
else { try container.encodeNil(forKey: .last_poll_at) }
|
|
77
|
-
if let last_success_at { try container.encode(last_success_at, forKey: .last_success_at) }
|
|
78
|
-
else { try container.encodeNil(forKey: .last_success_at) }
|
|
79
|
-
if let last_update_at { try container.encode(last_update_at, forKey: .last_update_at) }
|
|
80
|
-
else { try container.encodeNil(forKey: .last_update_at) }
|
|
81
|
-
if let last_error { try container.encode(last_error, forKey: .last_error) }
|
|
82
|
-
else { try container.encodeNil(forKey: .last_error) }
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
struct TelegramLivenessReceipt: Codable, Sendable, Equatable {
|
|
87
|
-
let schema: String
|
|
88
|
-
let generation: String
|
|
89
|
-
let pid: Int32
|
|
90
|
-
let running: Bool
|
|
91
|
-
let token_configured: Bool
|
|
92
|
-
let token_source: TelegramTokenSource
|
|
93
|
-
let bot_id: Int64?
|
|
94
|
-
let bot_identity_valid: Bool
|
|
95
|
-
let getme_checked_at: String?
|
|
96
|
-
let getme_latency_ms: Int?
|
|
97
|
-
let paired_chat_count: Int
|
|
98
|
-
let started_at: String
|
|
99
|
-
let heartbeat_at: String
|
|
100
|
-
let stale_after_seconds: Int
|
|
101
|
-
let audit_healthy: Bool?
|
|
102
|
-
let audit_last_error: String?
|
|
103
|
-
let poller: TelegramPollerReceipt
|
|
104
|
-
|
|
105
|
-
private enum CodingKeys: String, CodingKey {
|
|
106
|
-
case schema, generation, pid, running, token_configured, token_source
|
|
107
|
-
case bot_id, bot_identity_valid, getme_checked_at, getme_latency_ms
|
|
108
|
-
case paired_chat_count, started_at, heartbeat_at, stale_after_seconds
|
|
109
|
-
case audit_healthy, audit_last_error, poller
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
func encode(to encoder: Encoder) throws {
|
|
113
|
-
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
114
|
-
try container.encode(schema, forKey: .schema)
|
|
115
|
-
try container.encode(generation, forKey: .generation)
|
|
116
|
-
try container.encode(pid, forKey: .pid)
|
|
117
|
-
try container.encode(running, forKey: .running)
|
|
118
|
-
try container.encode(token_configured, forKey: .token_configured)
|
|
119
|
-
try container.encode(token_source, forKey: .token_source)
|
|
120
|
-
if let bot_id { try container.encode(bot_id, forKey: .bot_id) }
|
|
121
|
-
else { try container.encodeNil(forKey: .bot_id) }
|
|
122
|
-
try container.encode(bot_identity_valid, forKey: .bot_identity_valid)
|
|
123
|
-
if let getme_checked_at { try container.encode(getme_checked_at, forKey: .getme_checked_at) }
|
|
124
|
-
else { try container.encodeNil(forKey: .getme_checked_at) }
|
|
125
|
-
if let getme_latency_ms { try container.encode(getme_latency_ms, forKey: .getme_latency_ms) }
|
|
126
|
-
else { try container.encodeNil(forKey: .getme_latency_ms) }
|
|
127
|
-
try container.encode(paired_chat_count, forKey: .paired_chat_count)
|
|
128
|
-
try container.encode(started_at, forKey: .started_at)
|
|
129
|
-
try container.encode(heartbeat_at, forKey: .heartbeat_at)
|
|
130
|
-
try container.encode(stale_after_seconds, forKey: .stale_after_seconds)
|
|
131
|
-
if let audit_healthy { try container.encode(audit_healthy, forKey: .audit_healthy) }
|
|
132
|
-
else { try container.encodeNil(forKey: .audit_healthy) }
|
|
133
|
-
if let audit_last_error { try container.encode(audit_last_error, forKey: .audit_last_error) }
|
|
134
|
-
else { try container.encodeNil(forKey: .audit_last_error) }
|
|
135
|
-
try container.encode(poller, forKey: .poller)
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
struct TelegramCenterSetupResponse: Decodable {
|
|
140
|
-
struct Recovery: Decodable {
|
|
141
|
-
let action: String?
|
|
142
|
-
let note: String?
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
let ok: Bool
|
|
146
|
-
let getme_verified: Bool?
|
|
147
|
-
let token_stored: Bool?
|
|
148
|
-
let error: String?
|
|
149
|
-
let partial_success: Bool?
|
|
150
|
-
let token_source: String?
|
|
151
|
-
let storage_attempted: Bool?
|
|
152
|
-
let webhook_removed: Bool?
|
|
153
|
-
let pending_updates_dropped: Bool?
|
|
154
|
-
let bot_state_reset: Bool?
|
|
155
|
-
let bot_id: Int64?
|
|
156
|
-
let bot_username: String?
|
|
157
|
-
let operator_action: String?
|
|
158
|
-
let recovery: Recovery?
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
struct TelegramCenterPairResponse: Decodable {
|
|
162
|
-
let ok: Bool
|
|
163
|
-
let code: String?
|
|
164
|
-
let expires_at: String?
|
|
165
|
-
let instruction: String?
|
|
166
|
-
let post_pair_command: String?
|
|
167
|
-
let confirmation_grammar: String?
|
|
168
|
-
let error: String?
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
struct TelegramCenterDoctorResponse: Decodable {
|
|
172
|
-
struct Poller: Decodable {
|
|
173
|
-
let running: Bool
|
|
174
|
-
let consecutive_failures: Int
|
|
175
|
-
let last_error: String?
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
let ok: Bool
|
|
179
|
-
let status: String
|
|
180
|
-
let token_configured: Bool
|
|
181
|
-
let token_source: String
|
|
182
|
-
let bot_identity_valid: Bool
|
|
183
|
-
let paired_chat_count: Int
|
|
184
|
-
let audit_healthy: Bool
|
|
185
|
-
let poller: Poller
|
|
186
|
-
let blockers: [String]
|
|
187
|
-
let self_heal_action: String?
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
func telegramCommandRequest(_ text: String) -> TelegramTypedCommandRequest? {
|
|
191
|
-
let text = text.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
192
|
-
let pattern = #"^/sks\s+([a-z][a-z0-9-]{0,63})(?:\s+([\s\S]+))?$"#
|
|
193
|
-
guard let expression = try? NSRegularExpression(pattern: pattern),
|
|
194
|
-
let match = expression.firstMatch(in: text, range: NSRange(text.startIndex..., in: text)),
|
|
195
|
-
let nameRange = Range(match.range(at: 1), in: text) else { return nil }
|
|
196
|
-
let name = String(text[nameRange])
|
|
197
|
-
guard match.range(at: 2).location != NSNotFound,
|
|
198
|
-
let inputRange = Range(match.range(at: 2), in: text) else {
|
|
199
|
-
return TelegramTypedCommandRequest(name: name, inputJSON: "{}")
|
|
200
|
-
}
|
|
201
|
-
let raw = String(text[inputRange])
|
|
202
|
-
guard raw.utf8.count <= 16 * 1024,
|
|
203
|
-
let data = raw.data(using: .utf8),
|
|
204
|
-
let object = try? JSONSerialization.jsonObject(with: data),
|
|
205
|
-
object is [String: Any],
|
|
206
|
-
let normalized = try? JSONSerialization.data(withJSONObject: object, options: [.sortedKeys]),
|
|
207
|
-
let json = String(data: normalized, encoding: .utf8) else { return nil }
|
|
208
|
-
return TelegramTypedCommandRequest(name: name, inputJSON: json)
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
func telegramPairingCode(text: String, chatType: String) -> String? {
|
|
212
|
-
guard chatType == "private" else { return nil }
|
|
213
|
-
return telegramFirstCapture(#"^/start\s+([A-Za-z0-9_-]{6,64})$"#, text)
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
func telegramConfirmationNonce(_ text: String) -> String? {
|
|
217
|
-
telegramFirstCapture(#"^/confirm\s+([A-Za-z0-9_-]{16,64})$"#, text)
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
private func telegramFirstCapture(_ pattern: String, _ text: String) -> String? {
|
|
221
|
-
guard let expression = try? NSRegularExpression(pattern: pattern),
|
|
222
|
-
let match = expression.firstMatch(in: text, range: NSRange(text.startIndex..., in: text)),
|
|
223
|
-
let range = Range(match.range(at: 1), in: text) else { return nil }
|
|
224
|
-
return String(text[range])
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
func telegramISODate(_ date: Date = Date()) -> String {
|
|
228
|
-
ISO8601DateFormatter().string(from: date)
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
func telegramPublicError(_ value: String?, secret: String? = nil) -> String {
|
|
232
|
-
var raw = value ?? "telegram_error"
|
|
233
|
-
if let secret, !secret.isEmpty { raw = raw.replacingOccurrences(of: secret, with: "[redacted]") }
|
|
234
|
-
let botPattern = try? NSRegularExpression(pattern: #"/bot[^/\s]+/"#, options: [.caseInsensitive])
|
|
235
|
-
let redacted = botPattern?.stringByReplacingMatches(in: raw, range: NSRange(raw.startIndex..., in: raw), withTemplate: "/bot[redacted]/") ?? raw
|
|
236
|
-
return String(redacted.prefix(512))
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
func telegramRedactedActor(chatID: Int64, senderID: Int64) -> String {
|
|
240
|
-
var hash: UInt64 = 1469598103934665603
|
|
241
|
-
for byte in "\(chatID):\(senderID)".utf8 { hash = (hash ^ UInt64(byte)) &* 1099511628211 }
|
|
242
|
-
return String(format: "actor:%012llx", hash & 0xffffffffffff)
|
|
243
|
-
}
|