agent-sin 0.1.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.
Files changed (150) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +21 -0
  3. package/README.md +81 -0
  4. package/assets/logo.png +0 -0
  5. package/builtin-skills/_shared/_models_lib.py +227 -0
  6. package/builtin-skills/_shared/_profile_lib.py +98 -0
  7. package/builtin-skills/_shared/_schedules_lib.py +313 -0
  8. package/builtin-skills/_shared/_skill_settings_lib.py +153 -0
  9. package/builtin-skills/_shared/i18n.py +26 -0
  10. package/builtin-skills/memo-delete/main.py +155 -0
  11. package/builtin-skills/memo-delete/skill.yaml +57 -0
  12. package/builtin-skills/memo-index/main.py +178 -0
  13. package/builtin-skills/memo-index/skill.yaml +53 -0
  14. package/builtin-skills/memo-save/README.md +5 -0
  15. package/builtin-skills/memo-save/main.py +74 -0
  16. package/builtin-skills/memo-save/skill.yaml +52 -0
  17. package/builtin-skills/memo-search/README.md +10 -0
  18. package/builtin-skills/memo-search/main.py +97 -0
  19. package/builtin-skills/memo-search/skill.yaml +51 -0
  20. package/builtin-skills/memo-vector-search/main.py +121 -0
  21. package/builtin-skills/memo-vector-search/skill.yaml +53 -0
  22. package/builtin-skills/model-add/main.py +180 -0
  23. package/builtin-skills/model-add/skill.yaml +112 -0
  24. package/builtin-skills/model-list/main.py +93 -0
  25. package/builtin-skills/model-list/skill.yaml +48 -0
  26. package/builtin-skills/model-set/main.py +123 -0
  27. package/builtin-skills/model-set/skill.yaml +69 -0
  28. package/builtin-skills/profile-delete/_profile_lib.py +98 -0
  29. package/builtin-skills/profile-delete/main.py +98 -0
  30. package/builtin-skills/profile-delete/skill.yaml +64 -0
  31. package/builtin-skills/profile-edit/_profile_lib.py +98 -0
  32. package/builtin-skills/profile-edit/main.py +97 -0
  33. package/builtin-skills/profile-edit/skill.yaml +72 -0
  34. package/builtin-skills/profile-save/main.py +52 -0
  35. package/builtin-skills/profile-save/skill.yaml +69 -0
  36. package/builtin-skills/schedule-add/_schedules_lib.py +303 -0
  37. package/builtin-skills/schedule-add/main.py +137 -0
  38. package/builtin-skills/schedule-add/skill.yaml +94 -0
  39. package/builtin-skills/schedule-list/_schedules_lib.py +303 -0
  40. package/builtin-skills/schedule-list/main.py +86 -0
  41. package/builtin-skills/schedule-list/skill.yaml +45 -0
  42. package/builtin-skills/schedule-remove/_schedules_lib.py +303 -0
  43. package/builtin-skills/schedule-remove/main.py +69 -0
  44. package/builtin-skills/schedule-remove/skill.yaml +49 -0
  45. package/builtin-skills/schedule-toggle/_schedules_lib.py +303 -0
  46. package/builtin-skills/schedule-toggle/main.py +78 -0
  47. package/builtin-skills/schedule-toggle/skill.yaml +61 -0
  48. package/builtin-skills/skills-disable/main.py +63 -0
  49. package/builtin-skills/skills-disable/skill.yaml +52 -0
  50. package/builtin-skills/skills-enable/main.py +62 -0
  51. package/builtin-skills/skills-enable/skill.yaml +51 -0
  52. package/builtin-skills/todo-add/main.py +68 -0
  53. package/builtin-skills/todo-add/skill.yaml +53 -0
  54. package/builtin-skills/todo-delete/main.py +65 -0
  55. package/builtin-skills/todo-delete/skill.yaml +47 -0
  56. package/builtin-skills/todo-done/main.py +75 -0
  57. package/builtin-skills/todo-done/skill.yaml +47 -0
  58. package/builtin-skills/todo-list/main.py +91 -0
  59. package/builtin-skills/todo-list/skill.yaml +48 -0
  60. package/builtin-skills/todo-tick/main.py +125 -0
  61. package/builtin-skills/todo-tick/skill.yaml +48 -0
  62. package/dist/builder/build-action-classifier.d.ts +18 -0
  63. package/dist/builder/build-action-classifier.js +142 -0
  64. package/dist/builder/build-commands.d.ts +19 -0
  65. package/dist/builder/build-commands.js +133 -0
  66. package/dist/builder/build-flow.d.ts +72 -0
  67. package/dist/builder/build-flow.js +416 -0
  68. package/dist/builder/builder-session.d.ts +117 -0
  69. package/dist/builder/builder-session.js +1129 -0
  70. package/dist/builder/conversation-router.d.ts +22 -0
  71. package/dist/builder/conversation-router.js +69 -0
  72. package/dist/builder/intent-runtime-store.d.ts +7 -0
  73. package/dist/builder/intent-runtime-store.js +60 -0
  74. package/dist/builder/progress-format.d.ts +7 -0
  75. package/dist/builder/progress-format.js +46 -0
  76. package/dist/cli/index.d.ts +2 -0
  77. package/dist/cli/index.js +2835 -0
  78. package/dist/cli/spinner.d.ts +30 -0
  79. package/dist/cli/spinner.js +164 -0
  80. package/dist/core/ai-provider.d.ts +75 -0
  81. package/dist/core/ai-provider.js +678 -0
  82. package/dist/core/builtin-skills.d.ts +27 -0
  83. package/dist/core/builtin-skills.js +120 -0
  84. package/dist/core/chat-engine.d.ts +70 -0
  85. package/dist/core/chat-engine.js +812 -0
  86. package/dist/core/config.d.ts +127 -0
  87. package/dist/core/config.js +1379 -0
  88. package/dist/core/daily-memory-promotion.d.ts +21 -0
  89. package/dist/core/daily-memory-promotion.js +422 -0
  90. package/dist/core/i18n.d.ts +23 -0
  91. package/dist/core/i18n.js +167 -0
  92. package/dist/core/info-lines.d.ts +5 -0
  93. package/dist/core/info-lines.js +39 -0
  94. package/dist/core/input-schema.d.ts +2 -0
  95. package/dist/core/input-schema.js +156 -0
  96. package/dist/core/intent-router.d.ts +27 -0
  97. package/dist/core/intent-router.js +160 -0
  98. package/dist/core/logger.d.ts +60 -0
  99. package/dist/core/logger.js +240 -0
  100. package/dist/core/memory.d.ts +10 -0
  101. package/dist/core/memory.js +72 -0
  102. package/dist/core/message-utils.d.ts +13 -0
  103. package/dist/core/message-utils.js +104 -0
  104. package/dist/core/notifier.d.ts +17 -0
  105. package/dist/core/notifier.js +424 -0
  106. package/dist/core/output-writer.d.ts +13 -0
  107. package/dist/core/output-writer.js +100 -0
  108. package/dist/core/plan-decision.d.ts +16 -0
  109. package/dist/core/plan-decision.js +88 -0
  110. package/dist/core/profile-memory.d.ts +17 -0
  111. package/dist/core/profile-memory.js +142 -0
  112. package/dist/core/runtime.d.ts +50 -0
  113. package/dist/core/runtime.js +187 -0
  114. package/dist/core/scheduler.d.ts +28 -0
  115. package/dist/core/scheduler.js +155 -0
  116. package/dist/core/secrets.d.ts +31 -0
  117. package/dist/core/secrets.js +214 -0
  118. package/dist/core/service.d.ts +35 -0
  119. package/dist/core/service.js +479 -0
  120. package/dist/core/skill-planner.d.ts +24 -0
  121. package/dist/core/skill-planner.js +100 -0
  122. package/dist/core/skill-registry.d.ts +98 -0
  123. package/dist/core/skill-registry.js +319 -0
  124. package/dist/core/skill-scaffold.d.ts +33 -0
  125. package/dist/core/skill-scaffold.js +256 -0
  126. package/dist/core/skill-settings.d.ts +11 -0
  127. package/dist/core/skill-settings.js +63 -0
  128. package/dist/core/transfer.d.ts +31 -0
  129. package/dist/core/transfer.js +270 -0
  130. package/dist/core/update-notifier.d.ts +2 -0
  131. package/dist/core/update-notifier.js +140 -0
  132. package/dist/discord/bot.d.ts +96 -0
  133. package/dist/discord/bot.js +2424 -0
  134. package/dist/runtimes/codex-app-server.d.ts +53 -0
  135. package/dist/runtimes/codex-app-server.js +305 -0
  136. package/dist/runtimes/python-runner.d.ts +7 -0
  137. package/dist/runtimes/python-runner.js +302 -0
  138. package/dist/runtimes/typescript-runner.d.ts +5 -0
  139. package/dist/runtimes/typescript-runner.js +172 -0
  140. package/dist/skills-sdk/types.d.ts +38 -0
  141. package/dist/skills-sdk/types.js +1 -0
  142. package/dist/telegram/bot.d.ts +94 -0
  143. package/dist/telegram/bot.js +1219 -0
  144. package/install.ps1 +132 -0
  145. package/install.sh +130 -0
  146. package/package.json +60 -0
  147. package/templates/skill-python/main.py +74 -0
  148. package/templates/skill-python/skill.yaml +48 -0
  149. package/templates/skill-typescript/main.ts +87 -0
  150. package/templates/skill-typescript/skill.yaml +42 -0
@@ -0,0 +1,127 @@
1
+ import { type Locale } from "./i18n.js";
2
+ export declare function agentSinInstallRoot(): string;
3
+ export interface AppConfig {
4
+ version: number;
5
+ workspace: string;
6
+ notes_dir: string;
7
+ skills_dir: string;
8
+ memory_dir: string;
9
+ index_dir: string;
10
+ logs_dir: string;
11
+ log_retention_days: number;
12
+ event_log_retention_days: number;
13
+ defaults: {
14
+ note_format: string;
15
+ locale?: Locale;
16
+ };
17
+ chat_model_id: string;
18
+ builder_model_id: string;
19
+ }
20
+ export type ModelType = "api" | "ollama" | "cli";
21
+ export interface ModelEntry {
22
+ type: ModelType;
23
+ model?: string;
24
+ provider?: string;
25
+ effort?: string;
26
+ enabled: boolean;
27
+ }
28
+ export interface ModelConfig {
29
+ roles?: {
30
+ chat?: string;
31
+ builder?: string;
32
+ };
33
+ models: Record<string, ModelEntry>;
34
+ }
35
+ export interface SetupWorkspaceOptions {
36
+ workspace?: string;
37
+ notesDir?: string;
38
+ skillsDir?: string;
39
+ memoryDir?: string;
40
+ indexDir?: string;
41
+ logsDir?: string;
42
+ chatModel?: string;
43
+ builder?: string;
44
+ enableModels?: string[];
45
+ forceReconfigure?: boolean;
46
+ initialModels?: {
47
+ chat: SetupModelChoice;
48
+ builder: SetupModelChoice;
49
+ };
50
+ }
51
+ export interface SetupModelChoice {
52
+ provider: string;
53
+ model?: string;
54
+ effort?: string;
55
+ }
56
+ export interface ProviderCatalogEntry {
57
+ id: string;
58
+ label: string;
59
+ type: ModelType;
60
+ binary?: string;
61
+ envKeys?: string[];
62
+ defaultModel?: string;
63
+ needsEffort?: boolean;
64
+ defaultChatEffort?: string;
65
+ defaultBuilderEffort?: string;
66
+ }
67
+ export declare const PROVIDER_CATALOG: ProviderCatalogEntry[];
68
+ export declare class SetupRequiredError extends Error {
69
+ readonly configPath: string;
70
+ constructor(configPath: string);
71
+ }
72
+ export declare function defaultWorkspace(): string;
73
+ export declare function configPath(workspace?: string): string;
74
+ export declare function legacyConfigPath(workspace?: string): string;
75
+ export declare function modelsPath(workspace?: string): string;
76
+ export declare function schedulesPath(workspace?: string): string;
77
+ export declare function legacySchedulesPath(workspace?: string): string;
78
+ export declare function defaultConfig(workspace?: string): AppConfig;
79
+ export declare function defaultModels(): ModelConfig;
80
+ export declare const MODELS_YAML_TEMPLATE = "# agent-sin model registry\n#\n# `roles` maps logical roles (chat / builder) to concrete model entries.\n# `models` contains only concrete model definitions.\n#\n# Types:\n# api ... HTTP API (write API keys in ~/.agent-sin/.env)\n# ollama ... local Ollama (defaults to localhost:11434 unless OLLAMA_HOST is set)\n# cli ... separately authenticated external CLI (codex / claude-code)\n#\n# Provider examples are commented out.\n# Uncomment only the providers you want to use and set `enabled: true`.\n\nroles:\n chat: codex-low\n builder: codex-xhigh\n\nmodels:\n codex-low:\n type: cli\n provider: codex\n model: gpt-5.5\n effort: low\n enabled: true\n\n codex-xhigh:\n type: cli\n provider: codex\n model: gpt-5.5\n effort: xhigh\n enabled: true\n\n # --- Examples. Uncomment only the providers you use. ---\n\n # OpenAI API (set OPENAI_API_KEY in .env)\n # openai:\n # type: api\n # provider: openai\n # model: gpt-5.5\n # enabled: true\n\n # Google Gemini API (set GEMINI_API_KEY in .env)\n # gemini:\n # type: api\n # provider: gemini\n # model: gemini-2.5-flash\n # enabled: true\n\n # Anthropic Claude API (set ANTHROPIC_API_KEY in .env)\n # anthropic:\n # type: api\n # provider: anthropic\n # model: claude-opus-4-7\n # enabled: true\n\n # Ollama (local LLM; run `ollama pull <model>` first)\n # ollama-gemma:\n # type: ollama\n # model: gemma4:26b\n # enabled: true\n\n # Claude Code CLI (already logged in with `claude`)\n # claude-code:\n # type: cli\n # provider: claude-code\n # model: opus\n # effort: xhigh\n # enabled: true\n\n";
81
+ export interface DetectedProvider {
82
+ id: string;
83
+ label: string;
84
+ hint: string;
85
+ }
86
+ export declare function detectAvailableProviders(workspaceForEnv?: string): Promise<DetectedProvider[]>;
87
+ export declare function renderModelsYamlFromChoices(chat: SetupModelChoice, builder: SetupModelChoice): string;
88
+ export declare function deriveSetupChoiceId(choice: SetupModelChoice, role: "chat" | "builder"): string;
89
+ export declare function deriveSetupChoicePairIds(chat: SetupModelChoice, builder: SetupModelChoice): {
90
+ chat: string;
91
+ builder: string;
92
+ };
93
+ export declare function setupWorkspace(options?: SetupWorkspaceOptions): Promise<AppConfig>;
94
+ export declare function ensureDailyMemoIndexSchedule(config: AppConfig): Promise<void>;
95
+ export declare function ensureWorkspaceDirs(config: AppConfig): Promise<void>;
96
+ export declare function loadConfig(): Promise<AppConfig>;
97
+ export declare function loadModels(workspace?: string): Promise<ModelConfig>;
98
+ export declare function normalizeModelConfig(input: ModelConfig): ModelConfig;
99
+ export type ModelRole = "chat" | "builder";
100
+ export declare function resolveRoleId(config: AppConfig, models: ModelConfig | null, role: ModelRole): string;
101
+ export declare function setRoleModel(role: ModelRole, modelId: string): Promise<AppConfig>;
102
+ export declare function setDefaultModel(modelId: string): Promise<AppConfig>;
103
+ export declare function writeYaml(file: string, value: unknown): Promise<void>;
104
+ export declare function writeModelsYaml(file: string, models: ModelConfig): Promise<void>;
105
+ export interface ModelsYamlMigrationResult {
106
+ changed: boolean;
107
+ renamed: Record<string, string>;
108
+ notes: string[];
109
+ }
110
+ export interface MigrationOptions {
111
+ preferredRoles?: {
112
+ chat?: string;
113
+ builder?: string;
114
+ };
115
+ }
116
+ export declare function migrateModelsYamlIfLegacy(workspace?: string, options?: MigrationOptions): Promise<ModelsYamlMigrationResult>;
117
+ export declare function writeConfig(file: string, config: AppConfig): Promise<void>;
118
+ export declare function expandHome(value: string): string;
119
+ export declare function normalizeConfig(config: AppConfig): AppConfig;
120
+ export interface ParsedTomlConfig {
121
+ config: AppConfig;
122
+ legacy_role_ids?: {
123
+ chat?: string;
124
+ builder?: string;
125
+ };
126
+ }
127
+ export declare function parseTomlConfigWithLegacy(raw: string): ParsedTomlConfig;