@alook/cli 0.0.21 → 0.0.22

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/dist/index.js CHANGED
@@ -13917,8 +13917,14 @@ var TaskApiBaseSchema = exports_external.object({
13917
13917
  context_key: exports_external.string().nullable().optional(),
13918
13918
  context: exports_external.unknown().nullable().optional()
13919
13919
  });
13920
+ var TaskSenderApiSchema = exports_external.object({
13921
+ name: exports_external.string(),
13922
+ email: exports_external.string(),
13923
+ is_owner: exports_external.boolean()
13924
+ });
13920
13925
  var TaskApiSchema = TaskApiBaseSchema.extend({
13921
- agent: TaskAgentDataApiSchema.nullable().optional()
13926
+ agent: TaskAgentDataApiSchema.nullable().optional(),
13927
+ sender: TaskSenderApiSchema.nullable().optional()
13922
13928
  });
13923
13929
  var PollRequestSchema = exports_external.object({
13924
13930
  daemon_id: exports_external.string().min(1),
@@ -15732,6 +15738,7 @@ var agentTaskQueue = sqliteTable("agent_task_queue", {
15732
15738
  }, (t) => [
15733
15739
  index("idx_task_queue_pending").on(t.agentId, t.status).where(sql`status IN ('queued', 'dispatched')`),
15734
15740
  index("idx_task_queue_workspace_active").on(t.workspaceId, t.status, t.agentId).where(sql`status IN ('queued', 'dispatched', 'running')`),
15741
+ index("idx_task_queue_agent_history").on(t.agentId, t.workspaceId, t.createdAt),
15735
15742
  foreignKey({
15736
15743
  columns: [t.agentId, t.workspaceId],
15737
15744
  foreignColumns: [agent.id, agent.workspaceId]
@@ -16165,6 +16172,7 @@ function fromApiTask(api2) {
16165
16172
  contextKey: api2.context_key ?? null,
16166
16173
  context: api2.context ?? undefined,
16167
16174
  agent: api2.agent ? { name: api2.agent.name, instructions: api2.agent.instructions, emailHandle: api2.agent.email_handle ?? undefined, emailAddresses: api2.agent.email_addresses ?? [], userEmail: api2.agent.user_email ?? undefined, runtimeConfig: api2.agent.runtime_config ?? undefined } : undefined,
16175
+ sender: api2.sender ? { name: api2.sender.name, email: api2.sender.email, isOwner: api2.sender.is_owner } : undefined,
16168
16176
  repos: undefined,
16169
16177
  createdAt: api2.created_at
16170
16178
  };
@@ -13634,8 +13634,14 @@ var TaskApiBaseSchema = exports_external.object({
13634
13634
  context_key: exports_external.string().nullable().optional(),
13635
13635
  context: exports_external.unknown().nullable().optional()
13636
13636
  });
13637
+ var TaskSenderApiSchema = exports_external.object({
13638
+ name: exports_external.string(),
13639
+ email: exports_external.string(),
13640
+ is_owner: exports_external.boolean()
13641
+ });
13637
13642
  var TaskApiSchema = TaskApiBaseSchema.extend({
13638
- agent: TaskAgentDataApiSchema.nullable().optional()
13643
+ agent: TaskAgentDataApiSchema.nullable().optional(),
13644
+ sender: TaskSenderApiSchema.nullable().optional()
13639
13645
  });
13640
13646
  var PollRequestSchema = exports_external.object({
13641
13647
  daemon_id: exports_external.string().min(1),
@@ -15449,6 +15455,7 @@ var agentTaskQueue = sqliteTable("agent_task_queue", {
15449
15455
  }, (t) => [
15450
15456
  index("idx_task_queue_pending").on(t.agentId, t.status).where(sql`status IN ('queued', 'dispatched')`),
15451
15457
  index("idx_task_queue_workspace_active").on(t.workspaceId, t.status, t.agentId).where(sql`status IN ('queued', 'dispatched', 'running')`),
15458
+ index("idx_task_queue_agent_history").on(t.agentId, t.workspaceId, t.createdAt),
15452
15459
  foreignKey({
15453
15460
  columns: [t.agentId, t.workspaceId],
15454
15461
  foreignColumns: [agent.id, agent.workspaceId]
@@ -16682,6 +16689,7 @@ those json are sorted by datetime in asc order.
16682
16689
  - Don't report your agent id and workspace id when not asked, it will break the image that you're a human colleague.
16683
16690
 
16684
16691
  ## RULES
16692
+ - DM task prompts include a \`sender\` object with the workspace member's name, email, and whether they are the agent owner (\`is_owner\`). Use this to personalize your responses.
16685
16693
  - Read @memory.md(if exists) before your action.
16686
16694
  - When you start a new task, read the last ~10 lines of today's timeline to understand what has been asked and done recently.
16687
16695
  - if you don't know the current datetime, obtain the current datetime first.
@@ -17210,6 +17218,13 @@ function buildPrompt(task, attachments) {
17210
17218
  if (task.type === "email_notification") {
17211
17219
  obj.notice = EMAIL_NOTICE;
17212
17220
  }
17221
+ if (task.sender) {
17222
+ obj.sender = {
17223
+ name: task.sender.name,
17224
+ email: task.sender.email,
17225
+ is_owner: task.sender.isOwner
17226
+ };
17227
+ }
17213
17228
  if (attachments && attachments.length > 0) {
17214
17229
  obj.attachments = attachments.map((a) => ({
17215
17230
  path: a.path,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@alook/cli",
3
- "version": "0.0.21",
4
- "description": "Alook CLI — register and run always-on AI coding agents.",
3
+ "version": "0.0.22",
4
+ "description": "Alook CLI — Enable Your Person Colleague",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/alookai/alook#readme",
7
7
  "repository": {